package apiday02;

public class ObjectDemo {
    public static void main(String[] args) {
       //Object类另一个常常被派生类重写的方法：equals()
       //Object类中的equals()比较的还是==地址
       //public boolean equals(Object obj) {
            //return (this == obj);
        //}
        // Object类中的equals()内部还是使用==来比较(比较地址),没有实际意义。
        // this就是当前对象,因此派生类在使用时若想比较内容,常常需要重写equals(),
        // 所以如果不重写跟==是一样的。
        Point p1 = new Point(1,2);
        Point p2= new Point(1,2);
        //false,因为默认==比较的地址
        System.out.println(p1 == p2);
        //若派生类中重写了equals(),则调用重写之后的
        //true,因为重写equals()中比较的是x和y
        System.out.println(p1.equals(p2));
        //我们自己定义的类必须自己重写equals(),
        // 说明：java的类都重写equals()了,像String、StringBuilder都重写equals()方法才都比较的内容。
        
    }
}
